草庐IT

xcode - 检测碰撞 SpriteKit Swift

全部标签

c++ - 从 Windows 服务检测 SD 卡插入?

我需要从Windows服务检测可移动媒体插入。使用不可见的窗口,我可以通过RegisterDeviceNotification成功检测到USB拇指驱动器,但事实证明SD卡更难检测。我找到了使用SHChangeNotifyRegister的代码,但经过进一步调查,我只能让它在窗口应用程序中运行。(从代码项目中找到的代码:http://www.codeproject.com/Articles/3946/Trapping-windows-messages?msg=2897423#xx2897423xx)namespaceglobals{SHChangeNotifyEntryshcne[1];

c++ - 我可以检测成员函数是否存在并且可以被 C++ 中的 friend 访问吗?

我正在尝试从Isitpossibletowriteatemplatetocheckforafunction'sexistence?中汲取灵感并应用它们,但我遇到了一些麻烦。我有以下定义:#defineHAS_MEM_FUNC(func,name)\template\structname{\typedefcharyes[1];\typedefcharno[2];\templatestructtype_check;\templatestaticyes&chk(type_check*);\templatestaticno&chk(...);\staticboolconstvalue=size

c++ - 如何以编程方式检测 PC 是否具有 USB3 功能?

这看起来应该是一个简单的问题,但我不确定如何最好地解决它。我看过一些关于如何检测连接的设备是USB2还是3的帖子,但我需要知道USB3端口是否可用,即使没有连接任何设备。一种解决方案是遍历注册表中的“SYSTEM\CurrentControlSet\Services”键并与已知USB3服务的预设列表进行比较。我希望有更准确的东西,比如IOCTL调用。我可以实现C++(首选)或C#。在此先感谢您的帮助。 最佳答案 我是这样实现的。不是我正在寻找的解决方案。这基本上会告诉我系统上是否存在USB3.0驱动程序。它不会检测系统上的硬件是否包

c++ - 检测移除打开的串口设备(Qt/Windows)

我有一个Qt应用程序,它通过串口与加密狗通信(它是一个FTDI芯片)。我轮询QSerialPortInfo::availablePorts()以检测何时添加或删除端口,然后向加密狗发送一个空行以识别它(我的加密狗用它的ID对此做出响应,我指望它对99%的其他设备无害)。一切正常,除了如果您在连接处于事件状态时移除加密狗,连接似乎没有关闭并且端口仍在QSerialPortInfo::中返回availablePorts().有谁知道在我连接到串行加密狗时如何检测它的移除(除了像ping之类的黑客攻击)。我试过监听QSerialPort发出的所有信号(error()、readChannelF

c++ - 检测 DLL 的卸载

我有一个特殊的要求,我相信没有别的办法,即:检测DLL的卸载。我用谷歌搜索并发现afour-yearsoldSO对这个。我选择了相同的解决方案:HookFreeLibrary。当代码进入MyFreeLibrary时,我将钩住入口点指定的模块以相同的方式(内联钩子(Hook))。而在MyEntryPoint,我会先调用原来的入口点,然后检查reason参数-如果值等于DLL_PROCESS_DETACH,表示这个DLL的清理工作是刚刚完成,它将从地址空间中卸载。在这一点上,我有机会做我的工作。它有效。就这样?不幸的是,它还没有完成。一个非常重要的事情被忽略了:依赖。例如,a.dll链接到

c++ - 在 C/C++ 中如何以编程方式检测 SATA SSD 在 Windows 中的插入和拔出?

我正在尝试编写一个C/C++程序来检测Windows7中的新SATASSD(固态驱动器)连接。这款SATASSD还附带一条SATA-USB数据线。我已经将SATA端连接到SATASDD,将USB端连接到我的电脑。通过使用Windows消息系统检测WM_DEVICECHANGE消息和关联的DBT_DEVICEARRIVAL事件,我已经能够检测到SATASDD连接和移除。为此,我还使用RegisterDeviceNotification注册设备(即SATASSD),以便顶层窗口接收设备类型DBT_DEVTYP_DEVICEINTERFACE的通知以及SATASSD的classguid.但是

.net - 在 C# .Net 中,如何检测对话框是否出现?

我正在开发一个使用MicrosoftXPSDocumentWriter驱动程序打印报告的应用程序。如果用户试图覆盖打开的文件,驱动程序会弹出用户无权保存的错误对话框。然而,在一台QA的机器上,弹出对话框永远不会出现。我希望应用程序弹出自己的错误对话框,但前提是驱动程序的错误对话框不弹出。如何检测驱动程序的错误对话框是否弹出?? 最佳答案 不要让错误传播那么远?询问文件名,检测其(不)存在,显示您自己的错误,将文档传递给打印机。 关于.net-在C#.Net中,如何检测对话框是否出现?,我

windows - 用于检测不死进程的 NtQueryInformationProcess 替代方案?

我想检测何时有人在不通知调试器的情况下终止暂停的调试进程。(例如,到达控制台应用程序中的断点,并关闭应用程序的控制台窗口。)进程进入类似僵尸的状态,并且在调试器释放它之前无法进一步交互。当通过NtQueryInformationProcess收集有关进程的信息时,此状态似乎设置了PROCESS_EXTENDED_BASIC_INFORMATION::IsProcessDeleting标志,但标志、结构和函数在MSDN上实际上未记录并标记为“请勿使用”。测试这个标志可靠吗?我可以使用更好的“官方”API吗?(是的,我知道IsProcessDeleting也会在进程正常关闭(惊讶,惊喜)时

c++ - 检测正在插入的 USB 驱动器 - Windows 服务

我正在尝试检测插入到Windows服务中的USB磁盘驱动器,我已将其作为普通Windows应用程序完成。问题是以下代码不适用于卷。注册设备通知:DEV_BROADCAST_DEVICEINTERFACEnotificationFilter;HDEVNOTIFYhDeviceNotify=NULL;::ZeroMemory(¬ificationFilter,sizeof(notificationFilter));notificationFilter.dbcc_size=sizeof(DEV_BROADCAST_DEVICEINTERFACE);notificationFilter.

windows - Window 2003 server SP2检测

是否可以自动检测WindowServer2003是否安装了SP2?我正在使用InstallShield9安装脚本,所以我想我需要检查一些注册表项? 最佳答案 我从2003年左右就没有使用过InstallShield,所以我不确定有什么可用,但请查看:http://kb.flexerasoftware.com/doc/Helpnet/installshield14langref/LangrefSYSINFO.htm查看SYSINFO.nISOSL==ISOSL_WINSERVER2003SYSINFO.WINNT.bWinServer